package com.tom.architect.day01.simple5;

import android.content.Context;

import java.util.Map;

/**
 * Email 240336124@qq.com
 * Created by Darren on 2017/3/5.
 * Version 1.0
 * Description:
 */
public interface EngineCallBack/*<T>*/ {
    // 公用请求参数
    public void onPreExecute(Context context, Map<String, Object> params);

    // 返回可以直接操作的对象，避免每次回调后都要json转换。使用泛型处理。
    // 处理data 不一致问题，但是不能直接使用泛型。
    public void onSuccess(/*T*/String result);

    public void onFailure(Exception e);

    public final EngineCallBack DEFAULT_CALLBACK = new EngineCallBack() {
        @Override
        public void onPreExecute(Context context, Map params) {

        }

        @Override
        public void onSuccess(String result) {

        }

        @Override
        public void onFailure(Exception e) {

        }
    };

}
